Microchip devices have grown in complexity. Previously, microchip devices were limited to a processor and auxiliary systems for the processor. However, reduction in transistor size has allowed microchip devices to include more functional blocks and thereby become what is commonly referred to as a System on a Chip (SoC). An SoC can include functional blocks that themselves include other functional blocks that likewise include smaller blocks. Blocks, which can also be referred to as electronic “components”, are understood to be circuits that may be formed of various other electronic components. For example, an SoC may include multiple processors, clock generators, analog to digital converters, and other components. These SoC components may operate in conjunction with each other to implement a common function, and can be formed on a semiconductor substrate, such as at corresponding portions of a silicon die. Conversely, components of an SoC can be disjoint in operation, wherein their respective functions are isolated from that of other components.
Resets and interrupts can be applied to an SoC. An interrupt is triggered by an interrupt source upon detection of an interrupt event. An interrupt generically refers to an exception that does not truncate current software execution, but instead results in a change of program flow in an orderly manner to facilitate a return to the point where program flow changed upon completion. By contrast, a reset is triggered by a reset source upon detection of a reset event, and generically refers to a hardware reaction that truncates current software execution to implement a particular set of hardware controlled operations, which can include execution of various forms of programming code. The reset reaction is implemented with the intent of placing hardware of the SoC in a particular state. For example, a specific SoC component that has detected an event indicating a need for a reset, such as an abnormally low operating voltage, can generate a reset that reinitializes the SoC to a start-up condition. Given the complexity of modern SoCs, the effect of a reset from a particular block of the SoC can be indeterminate depending upon the state of other blocks of the SoC. This can result in situations where a reset causes the SoC as a whole to enter an undesirable state.